草庐IT

c++ - std::cin 上的 std::getline

全部标签

windows - Windows 上的 Qt 不显示动画 GIF

我正在尝试使动画GIF在Qt4.7和4.8上工作,但它在Windows上不起作用:-在Linux上运行良好-在WindowsonWine上运行良好-但该图像未在WindowsXP和Windows7上显示,但适用于PNG这是我的代码:QMovie*movie=newQMovie(":/resources/loading");QLabel*myLabel=newQLabel(this);myLabel->setMovie(movie);movie->start(); 最佳答案 首先,抱歉我的英语不好。我设法通过3个步骤解决了这个问题。我

windows - Windows 64 位处理器上的最大进程大小是多少

在Windows机器上,一个进程在32位处理器上的最大大小是多少?在任何情况下,进程大小都可以超过4GB吗? 最佳答案 假设您在谈论虚拟内存大小,“进程大小”没有任何意义。32位进程在32位操作系统上最多可以占用2GB的地址空间。当一个32位进程使用/3GB启动选项启动并与/LARGEADDRESSAWARE链接器选项链接时,它可以在32位操作系统上占用多达3GB的地址空间。现在很少有此启动选项可用,尤其是视频适配器占用太多物理地址空间,无法为操作系统和文件系统缓存留出足够的空间。只要使用/LARGEADDRESSAWARE链接器选

c - 由于 C 中错误的 malloc 导致程序崩溃

我的程序在这一行第二次运行时崩溃了:char*temp_directive=(char*)malloc(7);出现此错误:Criticalerrordetectedc0000374WindowshastriggeredabreakpointinMaman14.exe.Thismaybeduetoacorruptionoftheheap,whichindicatesabuginMaman14.exeoranyoftheDLLsithasloaded.ThismayalsobeduetotheuserpressingF12whileMaman14.exehasfocus.我不明白为什么,它

c - Windows 创建窗口 API

我是Windows编程的新手。在Windows操作系统上,几乎每个应用程序都会打开一个窗口,我想知道是否所有这些应用程序都调用相同的APICreateWindow()来创建它们的窗口?或者,换一种方式来问我的问题:游戏、音乐播放器、浏览器、即时消息、IDE等是否都通过调用APICreateWindow()创建它们的窗口?如果不是,还有哪些其他API可用于在Windows上创建窗口? 最佳答案 是的,还有CreateWindowEx是唯一可以创建窗口的API(其他相关API,例如DialogBox和AllocConsole也在内部执行

c - #define NAME ((LPCSTR) 5) 是什么?

这行代码是什么意思?#defineNAME((LPCSTR)5)如果我定义了一个变量,NAME*tmp,然后像这样使用它:((LPCSTR)5)*tmp;这段代码有什么作用?注意:LPCSTR是typedef__nullterminatedCONSTCHAR*LPCSTR 最佳答案 这是一个简单的转换,它将5转换为字符指针(__nullterminatedCONSTCHAR*)这可能是标准未定义的行为,但有时会在现实生活中使用。寻址您机器上的特定物理地址-例如,内核必须执行此操作以配置卡、板载芯片等...要在参数或返回值中发送特殊值

windows - Windows 上的递归互斥体?

据我了解,在Windows上,CRITICAL_SECTION只能用作非递归互斥锁。要获得递归互斥量,您必须使用OpenMutex和friend。但是,AFAIU、Win32Mutex不能与条件变量一起使用(InitializeConditionVariable等)有没有办法在Windows上结合使用递归互斥锁和条件变量? 最佳答案 valdo的评论是正确的。CRITICAL_SECTION是递归的。这是来自MSDN的引述:“在线程拥有关键部分的所有权之后,它可以在不阻止其执行的情况下对EnterCriticalSection或Tr

c# - 尝试使用 .Net 保护 Windows 上的目录

我正在尝试让我的C#程序保护Windows机器上的本地现有目录。出于安全原因,我只希望管理员组中的帐户可以访问此文件夹。现有文件夹是我的程序之前创建的,将归当前运行用户所有,因此我需要为admin组添加权限,然后删除当前用户的权限。我可以将管理员组的权限添加到该文件夹​​,但我不知道如何删除当前用户的权限。我授予管理员组权限如下:DirectorySecuritydirectorySecurity=newDirectorySecurity();IdentityReferenceadminId=newSecurityIdentifier(WellKnownSidType.BuiltinA

c - 旧程序中没有选择单选按钮

大约20(!)年前,我编写了一个大型复杂的C程序。据我所知,当时它在所有方面都运行良好-它可能在Windows95上运行。现在我需要再次使用它。不幸的是,其中的单选按钮似乎不再正常工作(普通按钮都可以正常工作)。当我点击单选按钮时,我得到一些反馈,即Windows正在确认我的点击,只要我的手指放在按钮上,我就会看到按钮文本周围出现虚线并且按钮的圆圈变灰,但是当我松开手指时,我看到所选按钮没有改变。我的怀疑是,我当时可能逃避了一些不良做法,这些做法适用于Windows95,但不再适用于较新版本的Windows,但我正在努力找出我做错了什么。有什么想法吗?编辑:很难提取相关代码,因为该程序

c++ - 如何使用 Windows API WriteFile 将 ASCII 字符串写入文件?

我知道我们可以使用WriteFile将内容写入文件:BOOLWINAPIWriteFile(HANDLEhFile,LPCVOIDlpBuffer,DWORDnumOfBytesToWrite,LPDOWRDlpNumOfBytesWritten,LPOVERLAPPEDlpOverlapped);但是我们如何使用此函数将ASCII字符串写入文件呢? 最佳答案 通常是这样的:WriteFile(your_file,your_string,strlen(your_string),&written,NULL);虽然您通常不想这样做——除

c++ - 当程序作为服务运行时重定向 std::cout

我有一个使用std::cout打印到屏幕的C++程序。有时我需要将其作为服务运行。当它作为Windows服务运行时,有什么方法可以查看cout输出吗?将输出重定向到文件或某种调试程序将是理想的。显然,我可以用写入文件的函数替换cout,这可能是我要做的,但我很想知道是否还有其他解决方案。 最佳答案 基本上有无限的选择。首先想到的是:传递ostream引用你可以传递一个std::ostream引用:voidsomeFunc(std::ostream&out){//someFuncdoesn'tneedtoknowwhetherouti